﻿
#if UNITY_IOS || UNITY_IPHONE

using HK.iOS.Editor.PostProcess.Data;

namespace HK.iOS.Editor.Data
{
    /// <summary>
    /// Pbx Build Item之Unity Cloud Build FakeToken
    /// </summary>
    public sealed class PbxBuildUsymUploadAuthToken : PbxBuildItem<string>, IPbxBuildUsymUploadAuthToken
    {
        
#region Create

        /// <summary>
        /// 创建Pbx打包用Item信息之Architectures
        /// </summary>
        /// <param name="iValue">值</param>
        /// <returns>Pbx打包用Item信息之Architectures</returns>
        public static IPbxBuildUsymUploadAuthToken Create(string iValue = "FakeToken")
        {
            return Create(iValue, iValue, iValue, iValue);
        }

        /// <summary>
        /// 创建Pbx打包用Item信息之Architectures
        /// </summary>
        /// <param name="iDebug">值 - Debug</param>
        /// <param name="iRelease">值 - Release</param>
        /// <param name="iReleaseForProfiling">值 - ReleaseForProfiling</param>
        /// <param name="iReleaseForRunning">值 - ReleaseForRunning</param>
        /// <returns>Pbx打包用Item信息之Architectures</returns>
        public static IPbxBuildUsymUploadAuthToken Create(string iDebug, string iRelease,
            string iReleaseForProfiling, string iReleaseForRunning)
        {
            return new PbxBuildUsymUploadAuthToken()
            {
                Debug = iDebug, Release = iRelease,
                ReleaseForProfiling = iReleaseForProfiling,
                ReleaseForRunning = iReleaseForRunning
            };
        }

#endregion
        

        /// <summary>
        /// 保护构造函数
        /// </summary>
        private PbxBuildUsymUploadAuthToken() {}
        
        /// <summary>
        /// Build Item Key
        /// </summary>
        public override string Key => "USYM_UPLOAD_AUTH_TOKEN";
    }
}

#endif
